<?php
/**
 * Created by JetBrains PhpStorm.
 * User: C
 * Date: 1.12.12
 * Time: 20:18
 * To change this template use File | Settings | File Templates.
 */
class PackagesController extends AppController {
    public $helpers = array('Html', 'Form');

    public function beforeFilter() { //määrame millistele actionitele pääseb ligi ilma sisse logimata
        parent::beforeFilter();
        $this->Auth->allow('index', 'search');
    }

    public function index() {
        //$this->set('packages', $this->Package->find('all'));
    }

    public function search() {
        if ($this->request->is('post')) {//kontrollime kas tegu oli post meetodiga

            $id = $this->request->data('Package'); //väärtustame muutuja postitatud koodiga

            if (strlen($id) == 11 && is_numeric($id)) { //kontrollime, kas tegu on isikukoodiga
                //kui on, siis leiame isikukoodi järgi kõik pakid
                $packages = $this->Package->query("SELECT Package.PakiNr, Package.Paki_kaalKG, Package.Kirjeldus, Package.Asukoht, Package.SaajaIsikukood, Package.Staatus, Person.id, Person.Eesnimi, Person.Perenimi, Person.Aadress, Person.Postiindeks, Person.TelNr, Person.OnSaatja, Status.StaatuseID, Status.Kirjeldus FROM post.saadetis AS Package LEFT JOIN post.isik AS Person ON (Person.id = Package.SaajaIsikukood) LEFT JOIN post.staatus AS Status ON (Status.StaatuseID = Package.Staatus) WHERE SaajaIsikukood = ".$id."");
            } elseif (strlen($id) == 7) {//kontrollime, kas tegu paki koodiga
                //Kui on, siis leiame paki nr järgi
                $packages = $this->Package->query("SELECT Package.PakiNr, Package.Paki_kaalKG, Package.Kirjeldus, Package.Asukoht, Package.SaajaIsikukood, Package.Staatus, Person.id, Person.Eesnimi, Person.Perenimi, Person.Aadress, Person.Postiindeks, Person.TelNr, Person.OnSaatja, Status.StaatuseID, Status.Kirjeldus FROM post.saadetis AS Package LEFT JOIN post.isik AS Person ON (Person.id = Package.SaajaIsikukood) LEFT JOIN post.staatus AS Status ON (Status.StaatuseID = Package.Staatus) WHERE PakiNr = \"".$id."\"");

            } else { // kui ei ole paki kood või isikukood, siis suuname tagasi ja kuvame veateate j
                $this->Session->setFlash('Vigane saadetise number või isikukood');
                $this->redirect(array('action' => 'index'));
            }

            if ($packages == null) { // kui päringud vastust ei leidnud, siis teavitame kasutajat
                $this->Session->setFlash("Sisestatud saadetise numbrile või isikukoodile vastavaid tulemusi ei leitud");
                $this->redirect(array('action' => 'index'));
            } else { //kui leiti, siis edastame muutuja view-sse
                $this->set('packages', $packages);
            }
        }
    }
    public function add() { //TODO
        if ($this->request->is('post')) {
            $this->Package->create();
            if ($this->Package->saveAll($this->request->data)) {
                $this->Session->setFlash('Saadetis salvestati');
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash('Saadetise salvestamine ebaõnnestus');
            }
        }
    }

}